export { default as FlowDesigner } from './FlowDesigner.vue';
export { default as NodeWrap } from './nodeWrap.vue';

// 导出所有子组件
export { default as errorDialog } from './dialog/errorDialog.vue'
export { default as employeesDialog } from './dialog/employeesDialog.vue'
export { default as employeesRoleDialog } from './dialog/employeesRoleDialog.vue'
export { default as roleDialog } from './dialog/roleDialog.vue'
export { default as promoterDrawer } from './drawer/promoterDrawer.vue'
export { default as approverDrawer } from './drawer/approverDrawer.vue'
export { default as copyerDrawer } from './drawer/copyerDrawer.vue'
export { default as conditionDrawer } from './drawer/conditionDrawer.vue'
export { default as addNode } from './addNode.vue'
export { default as selectBox } from './selectBox.vue'
export { default as selectResult } from './selectResult.vue'

// 导出类型定义（如果需要的话）
export interface FlowNodeData {
  id: string;
  type: 'start' | 'end' | 'process' | 'condition';
  name: string;
  x: number;
  y: number;
  config?: any;
}

export interface FlowConfig {
  nodes: FlowNodeData[];
  connections: Array<{
    from: string;
    to: string;
  }>;
  startNodeId?: string;
  endNodeIds?: string[];
  variables: Record<string, any>;
}

export interface NodeConfigData {
  nodeId: string;
  config: any;
}